# 学生成绩管理系统 元组与列表

"""
用列表存储学生信息，每个学生为元组 `(姓名, 数学, 语文, 英语)`，示例：
students = [("张三", 85, 90, 88), ...]
【功能】：
1) 添加学生（姓名、三科成绩）
2) 查询学生平均分（输入姓名，输出平均分）
3) 统计全班数学最高分
4) 按英语成绩降序排序并打印名单
【提示】：使用循环和列表方法实现，示例数据至少包含3名学生。
"""

students = []
number = int(input("请输入学生个数："))
i = 0
maxMathScore = 0
while i < number:
    i += 1
    name = input("请输入学生姓名：")
    chinese = int(input("请输入该学生的语文成绩："))
    math = int(input("请输入该学生的数学成绩："))
    english = int(input("请输入该学生的英语成绩："))
    students.append((name, chinese, math, english, (1.0 * chinese + math + english) / 3))
    if math > maxMathScore:
        maxMathScore = math

print(f"数学最高分：{maxMathScore}")
students.sort(key=lambda x: x[3])
print("姓名\t\t语文\t\t数学\t\t英语\t\t平均分")
for student in students:
    name, chinese, math, english, avg = student
    print(f"{name}\t{chinese}\t{math}\t{english}\t{avg}")

inputName = input("请输入要查询平均成绩的学生姓名：")

isFind = False
for student in students:
    if student[0] == inputName:
        print(f"{student[0]}的平均分为：{student[len(student) - 1]}")
        isFind = True

if not isFind:
    print(f"没有学生: {inputName}")
